Self-checking ultrasonic fluid flow measurement system

ABSTRACT

A computer program product includes program instructions executable by a processor to perform various operations. The operations include obtaining data from a flow meter having ultrasonic transducer pairs arranged about a conduit to establish measurement paths, wherein the flow meter data includes ultrasonic pulse transmission and detection data from first and second ultrasonic transducers for each path included in a set of the paths. The operations further comprise determining a first flow rate using the data for each path in the set of the paths, determining a second flow rate using the data for each path in a subset of the paths, wherein the subset of the paths includes fewer paths than in the set of the paths and only paths included in the set of the paths, and determining whether a difference between the first flow rate and the second flow rate is greater than a difference setpoint.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of prior U.S. patentapplication Ser. No. 17/015,818 filed on Sep. 9, 2020, which is adivisional application of prior U.S. patent application Ser. No.16/872,711 filed on May 12, 2020, wherein each of these referencedapplications is incorporated by reference herein.

BACKGROUND

The present disclosure relates to computer program products, systems andmethods for ultrasonic fluid flow measurement.

BACKGROUND OF THE RELATED ART

Ultrasonic flow meters are a type of fluid flow meter that uses soundwaves to measure that rate of fluid flow through the meter. Anultrasonic flow meter may measure the flow of various fluids, includinggases and liquids, using multiple pairs of ultrasonic sound-generatingtransducers to send and receive high frequency sound pulses. These soundpulses are typically transmitted and received several times per secondbetween each pair of transducers, where a pair of transducers is oftenreferred to as a path. The high frequency sound pulses for each path aredirected to travel at an angle relative to a fluid flow directionthrough the flow meter. The transit time for these pulses to travelbetween a pair of transducers is determined by electronics associatedwith the flow meter. Of course, the transit time of a sound pulse isexpected to differ depending upon whether or not the sound pulse isdirected with the fluid flow direction or direct against the fluid flowdirection.

From a measured difference in the transit time for each direction foreach path defined by a given pair of transducers, a relative pathvelocity of the fluid may be computed. Thus, the ultrasonic meter isconsidered an inferential velocity meter because it computes volumetricfluid flow after first determining the individual path velocities foreach pair of transducers. An average fluid velocity may be determinedusing a variety of methods that may differ among ultrasonic metermanufacturers. The bulk average fluid velocity is then multiplied by themeter's internal cross-sectional area to determine a volumetric fluidflow rate.

Depending upon the pipe design upstream of an ultrasonic flow meter, thefluid flow profile entering the meter may not be uniform from top tobottom and/or from side to side. As a result of this possibility, anultrasonic flow meter may include multiple pairs of transducers, whereeach pair of transducers is positioned at a specific location within theflow meter in order to more accurately determine the bulk average fluidvelocity, and to ultimately reduce uncertainty in the fluid flowmeasurement. For example, fiscal or custody measurement applicationsmust have a high degree of accuracy (low uncertainty), and therefore usemulti-path ultrasonic meters as required by the American GasAssociation, Report No. 9 (“AGA 9”).

One method often used to reduce the uncertainty of an ultrasonic meteris to provide a consistent and repeatable velocity profile entering theflow meter by placing a flow conditioner in a pipe upstream of the flowmeter. The purpose of the flow conditioner is to reduce, or totallyeliminate, any fluid swirl and flow velocity profile distortions.Reducing or eliminating such flow profile distortions before the fluidenters the flow meter will typically reduce the overall uncertainty ofthe flow measurements after calibration and installation in the fieldwhere upstream piping may be different.

The multiple flow paths in an ultrasonic flow meter are positioned toprovide measurement accuracy and reduce measurement uncertainty in theevent that the fluid flow profile becomes distorted. However, theposition of the multiple flow paths in ultrasonic flow meters variesamong the different flow meter manufacturers, such that each flow meterpath configuration exhibits different sensitivities to these fluid flowprofile distortions. Using multiple pairs of transducers reducesmeasurement uncertainty, but some residual uncertainty can still existbecause the flow conditioner may not be able to provide the same fluidflow profile at all times under all conditions.

The difference in flow meter sensitivities from one path configurationto another has led to the practice of using two flow meters in series,where the two flow meters have different path configurations and thusdifferent flow profile sensitivities. The reason for using two flowmeters with different path configurations is to potentially eliminatewhat is known as common-mode effects. That is, if one meter is more orless sensitive to fluid flow profile changes than a second meter, whichemploys a different path design, then the a change in the fluid flowprofile will result in the two flow meters outputting differentvolumetric flow rates. However, if the fluid flow profile remainsconstant or uniform, then the volumetric fluid flow rate that is outputfrom the two flow meters should be the same.

BRIEF SUMMARY

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations comprise obtaining data from a flowmeter having a plurality of ultrasonic transducer pairs arranged about aconduit to establish a plurality of measurement paths through theconduit, wherein each ultrasonic transducer pair includes first andsecond ultrasonic transducers positioned about the conduit to establishone of the plurality of measurement paths through the conduit, whereineach measurement path is directed at an acute angle relative to acentral axis of the conduit, and wherein the data obtained from the flowmeter includes ultrasonic pulse transmission and detection data from thefirst and second ultrasonic transducers for each measurement pathincluded in a set of the measurement paths. The operations furthercomprise determining a first fluid flow rate using the ultrasonic pulsetransmission and detection data for each measurement path included inthe set of the measurement paths, and determining a second fluid flowrate using the ultrasonic pulse transmission and detection data for eachmeasurement path included in a subset of the measurement paths, whereinthe subset of the measurement paths includes fewer measurement pathsthan in the set of the measurement paths and includes only measurementpaths included in the set of the measurement paths. The operations stillfurther comprise determining whether a difference between the firstfluid flow rate and the second fluid flow rate is greater than adifference setpoint.

Some embodiments provide a system comprising a non-volatile storagedevice storing program instructions, and a processor configured toprocess the program instructions, wherein the program instructions areconfigured to, when processed by the processor, cause the processor toperform various operations. The operations comprise obtaining data froma flow meter having a plurality of ultrasonic transducer pairs arrangedabout a conduit to establish a plurality of measurement paths throughthe conduit, wherein each ultrasonic transducer pair includes first andsecond ultrasonic transducers positioned about the conduit to establishone of the plurality of measurement paths through the conduit, whereineach measurement path is directed at an acute angle relative to acentral axis of the conduit, and wherein the data obtained from the flowmeter includes ultrasonic pulse transmission and detection data from thefirst and second ultrasonic transducers for each measurement pathincluded in a set of the measurement paths. The operations furthercomprise determining a first fluid flow rate using the ultrasonic pulsetransmission and detection data for each measurement path included inthe set of the measurement paths, and determining a second fluid flowrate using the ultrasonic pulse transmission and detection data for eachmeasurement path included in a subset of the measurement paths, whereinthe subset of the measurement paths includes fewer measurement pathsthan in the set of the measurement paths and includes only measurementpaths included in the set of the measurement paths. The operations stillfurther comprise determining whether a difference between the firstfluid flow rate and the second fluid flow rate is greater than adifference setpoint.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a cross-sectional diagram of a flow meter configuration withan ultrasonic transducer pair establishing a measurement path through aconduit.

FIG. 2 is a cross-sectional diagram of the flow meter of FIG. 1 takenalong line A-A in accordance with a non-limiting embodiment where theflow meter has a multi-path parallel chordal configuration.

FIG. 3 is a block diagram of a system for measuring a fluid flow ratewith self-check.

FIG. 4 is a block diagram of a computer that may represent a localcontroller and/or a remote computer.

FIGS. 5A-5C are schematic diagrams of fluid flow in a conduit.

FIG. 6 is a flowchart of operations according to one embodiment.

DETAILED DESCRIPTION

Some embodiments provide a system or apparatus comprising a plurality ofultrasonic transducer pairs arranged about a conduit to establish aplurality of measurement paths through the conduit, wherein eachultrasonic transducer pair includes first and second ultrasonictransducers positioned about the conduit to establish one of theplurality of measurement paths through the conduit, wherein eachmeasurement path is directed at an acute angle relative to a centralaxis of the conduit. The system further comprises a control system forcommunication with the first and second ultrasonic transducers of eachof the plurality of ultrasonic transducer pairs. The control system isconfigured to perform operations comprising obtaining ultrasonic pulsetransmission and detection data from the first and second ultrasonictransducers for each of the measurement paths, determining a first fluidflow rate using the ultrasonic pulse transmission and detection data foreach of the measurement paths, determining a second fluid flow rateusing a subset of the ultrasonic pulse transmission and detection datathat is used to determine the first fluid flow rate, wherein the subsetof the ultrasonic pulse transmission and detection data includes onlythe ultrasonic pulse transmission and detection data for a subset of themeasurement paths, and determining whether a difference between thefirst fluid flow rate and the second fluid flow rate is greater than adifference setpoint.

Some embodiments of the system or apparatus may take the form of anultrasonic flow meter including the plurality of ultrasonic transducerpairs arranged about the conduit, where the control system is a localcontroller that may be disposed in a housing secured to the conduit.Accordingly, the ultrasonic flow meter may be a single unit thatperforms all of the operations within the integral controller, or mayinclude a separate controller or computer to calculate the second fluidflow rate.

Some embodiments of the system or apparatus may take the form of anultrasonic flow meter in combination with a remote computer.Accordingly, the ultrasonic flow meter may include the plurality ofultrasonic transducer pairs arranged about the conduit, and the remotecomputer may perform all of the operations.

Some embodiments of the system or apparatus may take the form of anultrasonic flow meter including the plurality of ultrasonic transducerpairs arranged about the conduit, where the control system includes botha local controller that may be disposed in a housing secured to theconduit and a remote computer. In such embodiments, the operations maybe distributed between the local controller and the remote computer. Forexample, some of the operations may be performed by the local controllerand some of the operations may be performed by the remote computer. Thelocal controller and the remote computer may optionally be incommunication over one or more communication network, such as a localarea network or wide area network.

The plurality of ultrasonic transducer pairs are arranged about theconduit to establish the plurality of measurement paths through theconduit. Each ultrasonic transducer pair includes first and secondultrasonic transducers that are positioned about the conduit toestablish one of the plurality of measurement paths through the conduit.While each measurement path is directed at an acute angle relative to acentral axis of the conduit, there a numerous types of measurement pathsthat may be implemented about the conduit. For example, the measurementpaths may each be independently selected from diametric paths, chordalpaths, reflective paths, and combinations thereof. More specifically, afluid flow measurement system may have a plurality of ultrasonictransducer pairs positioned about the conduit to establish aconfiguration referred to as diametric multipath, diametric multi-pathreflective, multi-path parallel chordal, multi-path parallel chordreflective, multi-path mid-radius diametric, multi-path parallel crossedchord, and multi-path in-plane crossed chord. Furthermore, a fluid flowmeasurement system may have multiple measurement paths having anycombination of paths selected from diametric, diametric reflective,chordal, chord reflective, mid-radius diametric, parallel crossed chord,and in-plane crossed chord, without limitation. Embodiments may be usedto measure a flow rate of various fluids, including gases and liquids.

The plurality of ultrasonic transducer pairs may include any number oftwo or more ultrasonic transducer pairs. For example, an ultrasonicfluid flow measurement system may include any number of transducerpairs, such as two or more transducer pairs, including, withoutlimitation, between 2 and 8 transducer pairs that establish an equalnumber of measurement paths. Regardless of the exact number ofmeasurement paths provided in the ultrasonic fluid flow measurementsystem and used to determine the first fluid flow rate, a subset of oneor more of those measurement paths are used to determine the secondfluid flow rate. Specifically, the second fluid flow rate may bedetermined using at least one fewer measurement path than the number ofmeasurement paths used to determine the first fluid flow rate. In oneoption, the first fluid flow rate is determined using each (all) of themeasurement paths available in the ultrasonic fluid flow measurementsystem and the second fluid flow rate is determined using only one ormore (but less than all) of those measurement paths. Accordingly, theaccuracy of the first fluid flow rate may be improved by using each ofthe measurement paths, and the sensitivity of the second fluid flow rateto distorted fluid flow is retained by using only one or more (perhapsjust one or two) of the measurement paths. Still, embodiments having Xmeasurement paths, may determine the first fluid flow rate using up toall X measurement paths and determine the second fluid flow rate usingup to X−1 of those X measurement paths, wherein X has a value of atleast 2.

Some embodiments may determine the second fluid flow rate using apredetermined subset of the measurements paths established by acorresponding subset of the transducer pairs. Alternatively, someembodiments may allow for a user to select one or more of the pluralityof measurement paths established by the plurality of transducer pairs tobe included in the subset. However, any calibration and/or weightingfactors must be available or provided to the control system in order fora selected subset of measurement paths to be used for determining thesecond fluid flow rate. For this reason, a predetermined subset of themeasurement paths may be the most practical.

Some embodiments of the ultrasonic transducers may be piezoelectricdevices capable of converting an electrical signal into an ultrasonicpulse (one or more sound pulse) and also capable of converting areceived or detected ultrasonic pulse into an electrical signal. Whileeach ultrasonic transducer may be replaced with a combination of adedicated ultrasonic transmitter and a dedicated ultrasonic receiver,the additional number of components and requirements is generally lessdesirable than simply using an ultrasonic transducer. The electricalsignals to and from the ultrasonic transducers are generally analogsignals, wherein a signal from the control system to an ultrasonictransducer may pass through a digital to analog converter and wherein asignal from the ultrasonic transducer to the control system may passthrough an analog to digital converter.

In some embodiments, the control system may implement a local controllerthat is in direct communication with each of the ultrasonic transducersthat are included in the plurality of ultrasonic transducer pairs.Optionally, the local controller may then be in communication with aremote computer over a serial connection implementing a serialcommunication protocol, such as Modbus. For example, the localcontroller may serve as a supervisory controller and the remote computermay serve as a remote terminal unit (RTU) in compliance with asupervisory control and data acquisition (SCADA) system. Alternatively,the local controller may be in communication with a remote computer overone or more networks, such as a local area network, wide area network,cellular communication network, and the like.

In some embodiments, the operation of determining the first fluid flowrate may include further operations including determining, for eachmeasurement path, a path velocity, and determining, for each measurementpath, a first weighted path velocity as a mathematical product of thepath velocity for the measurement path and a first weighting factor thatis assigned to the measurement path for use in determining the firstfluid flow rate. The further operations may also include determining thefirst fluid flow rate as a sum of the first weighted path velocities foreach of the measurement paths, where the first fluid flow rate is a meanfluid flow velocity through the conduit. For embodiments in which thesubset of measurement paths includes multiple measurement paths, theoperation of determining the second fluid flow rate may include thefurther operations of determining, for each measurement path in thesubset of measurement paths, a second weighted path velocity as amathematical product of the path velocity for the measurement path and asecond weighting factor that is assigned to the measurement path for usein determining the second fluid flow rate, and determining the secondfluid flow rate as a sum of the second weighted path velocities for eachmeasurement path, wherein the second fluid flow rate is a mean fluidflow velocity through the conduit. For embodiments in which the subsetof measurement paths is a single measurement path, the operation ofdetermining the second fluid flow rate may include the further operationof determining the second fluid flow rate as a mathematical product ofthe path velocity for the single measurement path and a second weightingfactor that is assigned to the single measurement path, wherein thesecond fluid flow rate is a mean fluid flow velocity through theconduit.

In some embodiments, the operation of determining the first fluid flowrate may include further operations including determining, for eachmeasurement path, a path velocity, and determining, for each measurementpath, a first weighted path velocity as a mathematical product of thepath velocity for the measurement path and a first weighting factor thatis assigned to the measurement path for use in determining the firstfluid flow rate. The further operations may also include determining afirst mean fluid flow velocity through the conduit as a sum of the firstweighted path velocities for each measurement path, and determining thefirst fluid flow rate as a mathematical product of the first mean fluidflow velocity and a cross-sectional area of the conduit. Accordingly,the first fluid flow rate is a volumetric flow rate. For embodiments inwhich the subset of measurement paths includes multiple measurementpaths, the operation of determining the second fluid flow rate mayinclude further operations including determining, for each measurementpath in the subset of measurement paths, a second weighted path velocityas a mathematical product of the path velocity for the measurement pathand a second weighting factor that is assigned to the measurement pathfor use in determining the second fluid flow rate. The operations maystill further include determining a second mean fluid flow velocitythrough the conduit as a sum of the second weighted path velocities foreach of the measurement paths in the subset of measurement paths, anddetermining the second fluid flow rate as a mathematical product of thesecond mean fluid flow velocity and the cross-sectional area of theconduit, wherein the second fluid flow rate is a volumetric fluid flowrate through the conduit. For embodiments in which the subset ofmeasurement paths is a single measurement path, the operation ofdetermining the second fluid flow rate may include further operationscomprising determining a second mean fluid flow velocity as amathematical product of the path velocity for the single measurementpath and a second weighting factor that is assigned to the singlemeasurement path for use in determining the second fluid flow rate, anddetermining the second fluid flow rate as a mathematical product of thesecond mean fluid flow velocity and the cross-sectional area of theconduit, wherein the second fluid flow rate is a volumetric fluid flowrate through the conduit.

The term “fluid flow rate” is used in a broad sense to mean any measureof a rate as which fluid flows. Some embodiments may determine and use afluid flow rate that is expressed as a fluid velocity and someembodiments may determine and use a fluid flow rate that is expressed asa volumetric fluid flow rate. It should be recognized that a mean fluidvelocity (i.e., distance per unit of time) through the conduit isproportional to the volumetric fluid flow rate (i.e., volume per unit oftime) through the conduit, since the volumetric fluid flow rate is themathematical product of the mean fluid velocity and the cross-sectionalarea of the conduit. Furthermore, some embodiments may determine and usea fluid flow rate that is instantaneous or accumulated/averaged oversome period of time. Non-limiting examples of the later would include atotal accumulated volume of fluid over a period of time or an averagefluid flow velocity over a period of time. In any of these embodiments,a value for the difference setpoint may be expressed in the same unitsas the first and second fluid flow rates (i.e., meters/second orliters/second), but is preferably expressed as a percentage. In oneexample, the difference between the first fluid flow rate and the secondfluid flow rate is expressed as a percentage difference, and thedifference setpoint is expressed as a percentage difference setpoint.The value of the difference setpoint may be selected and input by a useror determined during setup or calibration. It should be recognized thatthe difference between the first fluid flow rate and the second fluidflow rate may be either a positive or negative difference. Accordingly,some embodiments may determine the absolute value of the differencebetween the first fluid flow rate and the second fluid flow rate beforedetermining whether that difference is greater than a differencesetpoint. Alternatively, embodiments may determine whether the secondfluid flow rate is within a range of deviation that is plus or minus(+/−) the difference setpoint from the first fluid flow rate.

Some embodiments will automatically take action responsive to thedifference between the first and second fluid flow rates. In oneexample, the operations may further include triggering an alarm inresponse to determining that the difference between the first fluid flowrate and the second fluid flow rate is greater than a differencesetpoint. Optionally, the triggering of the alarm may cause some visualor audible alert, or may cause an electronic message to be sent to adesignated user device, such as a mobile smartphone, tablet, orcomputer, or a combination thereof. In another example, the operationsmay further include storing the first fluid flow rate in a data storagedevice, and flagging the first fluid flow rate as having reducedreliability (increased uncertainty) in response to determining that thedifference between the first fluid flow rate and the second fluid flowrate is greater than a difference setpoint.

Some embodiments of the ultrasonic pulse transmission and detection datafor each measurement path may include a first transit time for anultrasonic pulse transmitted along the measurement path with a directionof fluid flow through the conduit and a second transit time for anultrasonic pulse transmitted along the measurement path against thedirection of fluid flow through the conduit. In other embodiments, theultrasonic pulse transmission and detection data for each measurementpath may include an ultrasonic pulse frequency shift.

Some embodiments disclosed herein may provide a system or apparatuscomprising a plurality of ultrasonic transducer pairs arranged about aconduit to establish a plurality of measurement paths through theconduit, wherein each ultrasonic transducer pair includes first andsecond ultrasonic transducers positioned about the conduit to establishone or more of the plurality of measurement paths through the conduit,wherein each measurement path is directed at an acute angle relative toa central axis of the conduit. The system further comprises anon-volatile storage device storing program instructions and a processorfor communication with the first and second ultrasonic transducers ofeach of the plurality of ultrasonic transducer pairs and configured toprocess the program instructions, wherein the program instructions areconfigured to, when processed by the processor, cause the processor toperform various operations. The operations may comprise obtainingultrasonic pulse transmission and detection data from the first andsecond ultrasonic transducers for each of the measurement paths,determining a first fluid flow rate using the ultrasonic pulsetransmission and detection data for each of the measurement paths,determining a second fluid flow rate using a subset of the ultrasonicpulse transmission and detection data that is used to determine thefirst fluid flow rate, wherein the subset of the ultrasonic pulsetransmission and detection data includes only the ultrasonic pulsetransmission and detection data for a subset of the measurement paths,and determining whether a difference between the first fluid flow rateand the second fluid flow rate is greater than a difference setpoint.

Some embodiments may provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise obtaining ultrasonicpulse transmission and detection data from the first and secondultrasonic transducers for each of the measurement paths, determining afirst fluid flow rate using the ultrasonic pulse transmission anddetection data for each of the measurement paths, determining a secondfluid flow rate using a subset of the ultrasonic pulse transmission anddetection data that is used to determine the first fluid flow rate,wherein the subset of the ultrasonic pulse transmission and detectiondata includes only the ultrasonic pulse transmission and detection datafor a subset of the measurement paths, and determining whether adifference between the first fluid flow rate and the second fluid flowrate is greater than a difference setpoint. The operations furthercomprise determining a first fluid flow rate using the ultrasonic pulsetransmission and detection data for each measurement path included inthe set of the measurement paths, and determining a second fluid flowrate using the ultrasonic pulse transmission and detection data for eachmeasurement path included in a subset of the measurement paths, whereinthe subset of the measurement paths includes fewer measurement pathsthan in the set of the measurement paths and includes only measurementpaths included in the set of the measurement paths. The operations stillfurther comprise determining whether a difference between the firstfluid flow rate and the second fluid flow rate is greater than adifference setpoint.

The foregoing computer program products may further include programinstructions for implementing or initiating any one or more aspects ofthe operations described herein. Accordingly, a separate description ofthe operations will not be duplicated in the context of a computerprogram product. It is a beneficial feature of various embodiments thatthe controller of an existing multi-path ultrasonic flow meter and/or aremote computer may be upgraded so that the system includes the computerprogram product and may thereby achieve the benefits of a self-checkingsecond fluid flow rate determination. Such an upgrade may beaccomplished by installing the computer program product alone, or byinstalling a new controller that is able to perform the operations ofthe computer program product.

Some embodiments provide a system comprising a non-volatile storagedevice storing program instructions, and a processor configured toprocess the program instructions, wherein the program instructions areconfigured to, when processed by the processor, cause the processor toperform various operations. The operations comprise obtaining data froma flow meter having a plurality of ultrasonic transducer pairs arrangedabout a conduit to establish a plurality of measurement paths throughthe conduit, wherein each ultrasonic transducer pair includes first andsecond ultrasonic transducers positioned about the conduit to establishone of the plurality of measurement paths through the conduit, whereineach measurement path is directed at an acute angle relative to acentral axis of the conduit, and wherein the data obtained from the flowmeter includes ultrasonic pulse transmission and detection data from thefirst and second ultrasonic transducers for each measurement pathincluded in a set of the measurement paths. The operations furthercomprise determining a first fluid flow rate using the ultrasonic pulsetransmission and detection data for each measurement path included inthe set of the measurement paths, and determining a second fluid flowrate using the ultrasonic pulse transmission and detection data for eachmeasurement path included in a subset of the measurement paths, whereinthe subset of the measurement paths includes fewer measurement pathsthan in the set of the measurement paths and includes only measurementpaths included in the set of the measurement paths. The operations stillfurther comprise determining whether a difference between the firstfluid flow rate and the second fluid flow rate is greater than adifference setpoint.

Example 1 (Hypothetical Uniform Flow Conditions)

A six-path ultrasonic flow measurement system including a conduit havinga nominal diameter of 8 inches (actual bore diameter of 193.7 mm) andsix ultrasonic transducer pairs used to measure a fluid flow ratethrough the conduit. Each transducer pair defined has a fixed pathlength (L) and a fixed path axial distance (X) as illustrated in FIG. 1.For each transducer pair, a first ultrasonic pulse was transmitted orgenerated by a first transducer and received or detected by a secondtransducer that is downstream of the first transducer in order tomeasure a downstream transit time (t_(D)) for the first ultrasonicpulse. The first ultrasonic pulse was transmitted downstream (i.e.,“with” the fluid flow) such that the pulse had a vector component incommon with a direction of fluid flow through the conduit. Similarly foreach transducer pair, a second ultrasonic pulse was transmitted orgenerated by the second transducer and received or detected by the firsttransducer that is upstream of the second transducer in order to measurean upstream transit time (t_(U)) for the second ultrasonic pulse. Thesecond ultrasonic pulse was transmitted upstream (i.e., “against” thefluid flow) such that the pulse had a vector component that is oppositeof a direction of fluid flow through the conduit.

The six-path ultrasonic flow measurement system included a controllerthat obtained data from the six ultrasonic transducer pairs (i.e., 12total transducers). For each ultrasonic transducer pair, the dataprovided measurement of the transit times of ultrasonic pulsestransmitted in both an upstream direction and downstream directionthrough the fluid flowing in the conduit. The downstream transit time(t_(D)) and upstream transit time (t_(U)) for each of the six ultrasonictransducer pairs (i.e., a total of twelve transit time measurements) areprovided in Table 1, below, as well as the path length (L) and pathaxial distance (X) established by the physical position of thetransducers that form each of the six ultrasonic transducer pairs. Thecontroller then calculated the path velocity of the fluid flowingthrough the measurement path of each transducer pair using Equation 1A,below.

$\begin{matrix}{\overset{\_}{v} = {\frac{L^{2}}{2X}\frac{\left( {t_{U} - t_{D}} \right)}{t_{U}t_{D}}}} & {{Equation}\mspace{14mu} 1A}\end{matrix}$

-   -   where; v is the path velocity for a measurement path established        by an ultrasonic transducer pair;    -   L is the linear distance (length) of the measurement path        between the two ultrasonic transducers of the pair;    -   X is the distance that the measurement path extends axially        along the conduit;    -   to is the transit time of an ultrasonic pulse directed upstream        (against the fluid flow) along the measurement path; and t_(D)        is the transit time of an ultrasonic pulse directed downstream        (with the fluid flow) along the measurement path.        The path velocity for a measurement path may be also be        determined by an alternative Equation 1B, below. However,        Equations 1A and 1B yield the same path velocity values.

$\begin{matrix}{v_{Pfad} = {\frac{L}{{2 \cdot \cos}\;\alpha}\left( {\frac{1}{t_{AB}} - \frac{1}{t_{BA}}} \right)}} & {{Equation}\mspace{14mu} 1B}\end{matrix}$

TABLE 1 Path Velocity Calculations Downstream Upstream Path Path AxialTransit Transit Time Length Distance Path Ultrasonic Time (t_(D))(t_(U)) (L) (X) Velocity Transducer (micro- (micro- (milli- (milli- (v)Pair seconds) seconds) meters) meters) (m/s) 1 461.628 467.877 194.02095.905 5.678 2 461.711 468.020 194.040 95.905 5.731 3 596.961 606.696251.310 135.630 6.258 4 597.110 606.840 251.280 135.630 6.250 5 461.521467.889 193.970 95.905 5.785 6 461.551 467.787 193.930 95.905 5.665

Having determined the path velocity for each measurement path defined byan ultrasonic transducer pair, the controller applies a weighting factorto each path velocity to determine a mean fluid flow velocity for thefluid flowing through the conduit. The fluid flow measurement system maybe preprogrammed or otherwise set with a specific weighting value foreach measurement path. For example, if there are n measurement paths,then there may be n weighting factors with each weighting factorassigned to one of the measurement paths. However, it is possible formore than one measurement path to be assigned a weighting factor havingthe same value. The weighting factors are specifically assigned for usewith a particular flow rate calculation. In the example of a six-pathultrasonic flow measurement system, there is one weighting factor foreach of the six measurements paths established by one of the ultrasonictransducer pairs. The controller then calculated the mean fluid flowvelocity through the conduit using Equation 2, below.V=(v ₁ ×w ₁)+(v ₂ ×w ₂)+ . . . +(v _(n) ×w _(n))  Equation 2:

where: V is the mean fluid flow velocity through the conduit;

-   -   v_(n) is the path velocity for an nth measurement path; and    -   w_(n) is a weighting factor assigned to the measurement path.

TABLE 2 Mean Fluid Flow Velocity Calculation for First (Main) Fluid FlowRate Path Ultrasonic Velocity Transducer (v) First (Main) Flow Pair(meters/second) Rate Weighting (w) v × w 1 5.678 0.125 0.709771331 25.731 0.125 0.71638617 3 6.258 0.250 1.564561563 4 6.250 0.2501.52623654 5 5.785 0.125 0.723063854 6 5.665 0.125 0.708111064 MeanFluid Flow Velocity (meters/second) 5.985

It may be noted that each flow meter may also be calibrated in acalibration lab before being used in the field. Such a calibration mayresult in a determination of a correction factor that is applied to thefirst output (i.e., the determined first fluid flow rate) and acorrection factor that is applied to the second output (i.e., thedetermined second fluid flow rate) so that the outputs agree with knownflow rates. Accordingly, the first and second fluid flow rates shouldagree throughout the entire flow rate range under uniform fluid flowconditions. However, the use of correction factors is not included inthis example.

The six-path ultrasonic flow measurement system obtained transit timedata from each ultrasonic transducer pair and calculated a path velocityfor each measurement path defined by an ultrasonic transducer pair. Asubset of this transit time data was used in a calculation for a secondfluid flow rate representing a virtual check meter or a self-checkingmeter. In this example, the subset of the transit time data includedonly the transit time data for the third ultrasonic transducer pair(i.e., Ultrasonic Transducer Pair #3). In fact, since the controller hadalready calculated the path velocity for the third ultrasonic transducerpair, the controller used the path velocity for the third measurementpath to calculate the second fluid flow rate. This second fluid flowrate is analogous to the output of a single path ultrasonic flowmeasurement system, such that the second fluid flow rate may be used asa self-checking meter while avoiding the capital and maintenanceexpenses associated with installation and operation of a separateultrasonic flow measurement system to serve as a check meter.

Having already determined the path velocity for the third measurementestablished by the third ultrasonic transducer pair, the controllerapplies a weighting factor to the third path velocity to determine amean fluid flow velocity for the fluid flowing through the conduit. Itis important to note that the weighting factor used for this single-pathfluid flow rate calculation is specific to the single-path fluid flowrate calculation. The weighting factor applied to the third measurementpath in the single-path fluid flow rate calculation is different fromthe weighting factor that is applied to the third measurement path inthe six-path fluid flow rate calculation. The controller then calculatesthe mean fluid flow velocity through the conduit using Equation 2,above.

TABLE 2 Mean Fluid Flow Velocity Calculation for Second (Check) FluidFlow Rate Path Ultrasonic Velocity Second (Check) Transducer (v) FlowRate Pair (meters/second) Weighting (w) v × w 1 5.678 0 0 2 5.731 0 0 36.258 0.95 5.945 4 6.250 0 0 5 5.785 0 0 6 5.665 0 0 Mean Fluid FlowVelocity (meters/second) 5.945

It may be noted at this point, that the controller could calculate adifferent self-check fluid flow rate and/or multiple self-check fluidflow rates so long as the controller had calibrated weighting factorsfor such various other self-checking fluid flow rate calculations. Inone option, a self-check fluid flow rate could be calculated using adifferent measurement path, which would be analogous to the output of adifferent single-path check meter. In another option, a self-check fluidflow rate could be calculated using multiple measurement paths, whichwould be analogous to the output of a multi-path check meter. In each ofthese options, the self-check fluid flow rate is determined using asubset of the data that is used to calculation a first (main) fluid flowrate.

In some embodiments, the controller may take the additional step ofcalculating a volumetric flow rate through the conduit using the meanfluid flow velocity through the conduit and the interior cross-sectionalarea of the conduit (i.e., the area of the bore through the conduit).The controller may perform this calculation using Equation 3, below.Q=V×A  Equation 3:

where: Q is a volumetric flow rate through the conduit;

-   -   V is a mean fluid flow velocity through the conduit; and    -   A is the interior cross-sectional area of the conduit.

Next, the controller determines whether the first fluid flow rate(determined using the transit time data for each of the measurementpaths) and the second fluid flow rate (determined using a subset of thetransit time data or calculated path velocities for a subset of themeasurement paths) have a difference greater than a difference setpoint.A value for the difference setpoint may be selected and input by a useror determined during calibration. The value of the difference setpointbe expressed in the same units as the first and second fluid flow rates(i.e., meters/second), but is preferable expressed as a percentage.Accordingly, the percentage difference between the first and secondfluid flow rates is calculated according to Equation 4, below.

$\begin{matrix}{{{Percentage}\mspace{14mu}{Difference}} = {\frac{\begin{matrix}\left( {{{second}\mspace{14mu}{fluid}\mspace{14mu}{flow}\mspace{14mu}{rate}} -} \right. \\\left. {{first}\mspace{14mu}{fluid}\mspace{14mu}{flow}\mspace{14mu}{rate}} \right)\end{matrix}}{\left( {{first}\mspace{14mu}{fluid}\mspace{14mu}{flow}\mspace{14mu}{rate}} \right)} \times 100\%}} & {{Equation}\mspace{14mu} 4}\end{matrix}$

If the controller determines that the difference between the first andsecond fluid flow rates is less than the difference setpoint, this meansthat the single-path self-check confirms the reliability of the firstfluid flow rate determined by the six-path ultrasonic fluid flowmeasurement system. This agreement typically occurs when the fluidflowing through the conduit has a uniform fluid flow profile. However,if the controller determines that the difference between the first andsecond fluid flow rates is greater than the difference setpoint, thismeans that the single-path self-check does not confirm the reliabilityof the first fluid flow rate determined by the six-path ultrasonic fluidflow measurement system. This disagreement typically occurs when thefluid flowing through the conduit has a distorted fluid flow profile.

In Example 1, a difference setpoint of 0.7% is used. The controllercalculates that the percentage difference between the first and secondfluid flow rates is ((5.945−5.985)/5.945)×100%=0.655%. Since thepercentage difference (0.655%) is less than the difference setpoint(0.7%), the controller determines that the second fluid flow rateconfirms the reliability of the first fluid flow rate.

Example 2 (Hypothetical Distorted Flow Conditions)

The same six-path ultrasonic flow measurement system used in Example 1,above, was used in the same manner as described in Example 1. However,the fluid flow conditions were different and the controller was able todetect that the fluid flow conditions were distorted and the first fluidflow rate measured by the six-path ultrasonic flow measurement systemhas questionable reliability.

As in Example 1, the same Equations 1 and 2 were used to calculate afirst fluid flow rate for the six-path ultrasonic flow measurementsystem (using data for each of the six measurement paths) and thesingle-path self-check (using only the data for the third measurementpath). Note that the path length (L), the path axial distance (X) andthe weighting factors are the same in Example 2 as in Example 1. Thedifferences in the Tables from Example 1 to Example 2 are merely aresult of the different flow conditions of the fluid flowing through theconduit, which altered the downstream and upstream transit timemeasurements. The controller's calculation of the first and second fluidflow rates under these conditions are represented in the followingTables 4, 5 and 6.

TABLE 4 Path Velocity Calculations Down- Upstream Path stream TransitPath Axial Transit Time Length Distance Path Ultrasonic Time (t_(D))(t_(U)) (L) (X) Velocity Transducer (micro- (micro- (micro- (micro- (v)Pair seconds) seconds) seconds) seconds) (m/s) 1 458.875 470.146 194.02095.905 10.253 2 459.003 470.407 194.040 95.905 10.368 3 592.736 610.354251.310 135.630 11.338 4 592.892 610.616 251.280 135.630 11.396 5458.765 470.156 193.970 95.905 10.359 6 458.763 470.162 193.930 95.90510.365

TABLE 5 Mean Fluid Flow Velocity Calculation for First (Main) Fluid FlowRate Path Ultrasonic Velocity First (Main) Transducer (v) Flow Rate Pair(meters/second) Weighting (w) v × w 1 10.253 0.125 1.281643015 2 10.3680.125 1.295952872 3 11.338 0.250 2.834570722 4 11.396 0.250 2.8489712665 10.359 0.125 1.294903757 6 10.365 0.125 1.295668687 Mean Fluid FlowVelocity (meters/second) 10.852

TABLE 6 Mean Fluid Flow Velocity Calculation for Second (Check) FluidFlow Rate Path Ultrasonic Velocity Second (Check) Transducer (v) FlowRate Pair (meters/second) Weighting (w) v × w 1 10.253 0 0 2 10.368 0 03 11.338 0.95 10.771 4 11.396 0 0 5 10.359 0 0 6 10.365 0 0 Mean FluidFlow Velocity (meters/second) 10.771

The controller then determines whether the first fluid flow rate(determined using the transit time data for each of the measurementpaths) and the second fluid flow rate (determined using a subset of thetransit time data or calculated path velocities for a subset of themeasurement paths) have a difference greater than the differencesetpoint used in Example 1. Accordingly, the controller calculates thatthe percentage difference between the first and second fluid flow ratesis ((10.771−10.852)/10.852)×100%=0.740%. Since the percentage difference(0.740%) is greater than the difference setpoint (0.7%), the controllerconcludes that the second fluid flow rate indicates some unreliabilityof the first fluid flow rate. This conclusion may be the result of adistorted fluid flow profile within the conduit.

FIG. 1 is a cross-sectional diagram of the body of a flow meter 10illustrating a single ultrasonic transducer pair including a firstultrasonic transducer 12 and a second ultrasonic transducer 14establishing a measurement path 16 through a conduit 18. The conduit 18has an interior bore defined by walls 20, where the bore has a diameterD. For any particular installation, the conduit 18 will have a fluidflow direction (see arrow 22).

The first and second ultrasonic transducers 12, 14 of the ultrasonictransducer pair are secured in positions about the conduit 18 in orderto transmit and receive ultrasound pulses along the measurement path 16at an acute angle (α) relative to the axial center of the conduit 18.The length of the measure path 16 (i.e., the distance that theultrasound pulse must travel between the first and second ultrasonictransducers 12, 14) is shown as a distance or length L. The axialdistance (i.e., the distance upstream/downstream along the central axis24) between the first and second ultrasonic transducers 12, 14 is shownas a distance X. At a given point in time, a first ultrasonic pulse maybe transmitted or generated by the first transducer 12 and received ordetected by the second transducer 14 that is downstream (see fluid flowdirectional arrow 22) of the first transducer 12 in order to measure adownstream transit time (t_(D)) for the first ultrasonic pulse. Thefirst ultrasonic pulse is transmitted downstream (i.e., “with” the fluidflow) such that the pulse has a vector component in common with thedirection of fluid flow 22 through the conduit 18. Similarly at anotherpoint in time, a second ultrasonic pulse may be transmitted or generatedby the second transducer 14 and received or detected by the firsttransducer 12 that is upstream of the second transducer 14 in order tomeasure an upstream transit time (t_(U)) for the second ultrasonicpulse. The second ultrasonic pulse is transmitted upstream (i.e.,“against” the fluid flow) such that the pulse has a vector componentthat is opposite of the direction of fluid flow through the conduit 18.The terms “first” and “second” are used only to distinguish between thetwo pulses and do not indicate any particular order in which the pulsesshould be transmitted and received.

A control system (not shown) may communicate with the first and secondultrasonic transducers 12, 14 via first and second electricallyconductive cables 26, 28, respectively. For example, the control systemmay cause the first ultrasonic transducer 12 to transmit a downstreampulse into the fluid by sending a signal over the first cable 26 and mayreceive a detection signal from the second ultrasonic transducer 14 overthe second cable 28 in response to the second ultrasonic transducer 14detecting or receiving the downstream pulse in the fluid. The differencebetween the time at which the first ultrasonic transducer 12 transmitsthe downstream pulse and the time at which the second ultrasonictransducer 14 receives the downstream pulse is the downstream transittime (t_(D)) for this ultrasonic transducer pair. Similarly, the controlsystem may cause the second ultrasonic transducer 14 to transmit anupstream pulse into the fluid by sending a signal over the second cable28 and may receive a detection signal from the first ultrasonictransducer 12 over the first cable 26 in response to the firstultrasonic transducer 12 detecting or receiving the upstream pulse inthe fluid. The difference between the time at which the secondultrasonic transducer 14 transmits the upstream pulse and the time atwhich the first ultrasonic transducer 12 receives the upstream pulse isthe upstream transit time (t_(U)) for this ultrasonic transducer pair.

Embodiments of an ultrasonic fluid flow measurement system will have aplurality of ultrasonic transducer pairs, where each ultrasonictransducer pair has first and second ultrasonic transducers similar tothe first and second ultrasonic transducers 12, 14. The only differencesbetween the first and second ultrasonic transducers 12, 14 and any otherpair of ultrasonic transducer in the ultrasonic fluid flow measurementsystem is the positioning of the first and second ultrasonic transducersand the resulting path dimensions and type. In other words, it is notnecessary for each ultrasonic transducer pair to establish a measurementpath having the same length L, the same axial distance X, the same angleα, or the same diametric, chordal or reflective configuration.

FIG. 2 is a cross-sectional diagram of the body of the flow meter 10taken along line A-A of FIG. 1 if the flow meter 10 had a six-pathparallel chordal configuration. The cross-section may be considered tobe an oblique cross-section since it is taken along a line that isneither perpendicular nor parallel to the axial centerline 24. In thesix-path parallel chordal configuration, it should be understood thatthe path length L and the axial distance X will vary among the sixmeasurement paths. Each of the twelve transducers has an electricallyconductive cable for sending and receiving communication signals to andfrom a control system (not shown). For example, the cable 26 isconnected to the first ultrasonic transducer 12 and the cable 28 isconnected to the second ultrasonic transducer 14.

FIG. 3 is a block diagram of an ultrasonic fluid flow measurement system30 for measuring a first (main) fluid flow rate and a second(self-check) fluid flow rate. The ultrasonic fluid flow measurementsystem 30 includes the flow meter 10 and a local controller 40. Thelocal controller 40 is preferably secured to the flow meter 10, such asthe flow meter shown in FIG. 1. The local controller 40 includes aprocessor 42 in communication with an input/output module 44, memory 46,and a network interface 48. The memory 46 may store program instructions45 and data 47 for performing various embodiments. For example, theprogram instructions 45 may be executable by the processor 42 to causethe processor to perform operations according to embodiments describedherein. Furthermore, the data 47 may include flow meter parameters, suchas length L, axial distance X, and angle α for each measurement path(each ultrasonic transducer pair), weightings used for calculating amean fluid flow velocity, and/or a difference setpoint that may triggeran alarm.

The local controller 40 may communicate with a flow computer or remoteterminal unit (RTU) 50 over a network, such as a local area network. Theoperations of various embodiments may be performed by the flow computer50 alone or in combination with the local controller 40. The flowcomputer 50 may also be in communication with a supervisory computer 60over a network, such as a wide area network including the Internet.Accordingly, the operations of various embodiments may be performed bythe local controller 40, the flow computer 50, and/or the supervisorycomputer or measurement reconciliation system 60.

FIG. 4 is a block diagram of a computer 100 that may, withoutlimitation, be representative of the local controller 40, the flowcomputer 50 and/or the supervisory computer 60 of FIG. 3. However, theembodiments are not limited to the particular architecture shown. Forexample, the computer may include additional components or exclude somecomponents shown.

The computer 100 includes a processor unit 104 that is coupled to asystem bus 106. The processor unit 104 may utilize one or moreprocessors, each of which has one or more processor cores. A graphicsadapter 108, which drives/supports the display 120, is also coupled tosystem bus 106. The graphics adapter 108 may, for example, include agraphics processing unit (GPU). The system bus 106 is coupled via a busbridge 112 to an input/output (I/O) bus 114. An I/O interface 116 iscoupled to the I/O bus 114. The I/O interface 116 affords communicationwith various I/O devices, such as a keyboard 118 and a USB mouse 124 viaUSB port(s) 126. As depicted, the computer 100 is able to communicateover one or more network using a network adapter or network interfacecontroller 130.

A hard drive interface 132 is also coupled to the system bus 106. Thehard drive interface 132 interfaces with a hard drive 134. In apreferred embodiment, the hard drive 134 communicates with system memory136, which is also coupled to the system bus 106. System memory may bethe lowest level of volatile memory in the computer 100. This volatilememory may include additional higher levels of volatile memory (notshown), including, but not limited to, cache memory, registers andbuffers. Data that populates the system memory 136 may include anoperating system (OS) 138, program instructions 150 and data 152.

The operating system 138 for the computer 100 may include a shell 140for providing transparent user access to resources such as theapplication programs 144. Generally, the shell 140 is a program thatprovides an interpreter and an interface between the user and theoperating system. More specifically, the shell 140 executes commandsthat are entered into a command line user interface or from a file.Thus, the shell 140, also called a command processor, is generally thehighest level of the operating system software hierarchy and serves as acommand interpreter. The shell may provide a system prompt, interpretcommands entered by keyboard, mouse, or other user input media, and sendthe interpreted command(s) to the appropriate lower levels of theoperating system (e.g., a kernel 142) for processing. Note that whilethe shell 140 may be a text-based, line-oriented user interface,embodiments may support other user interface modes, such as graphical,voice, gestural, etc.

As depicted, the operating system 138 also includes the kernel 142,which may include lower levels of functionality for the operating system138, including providing essential services required by other parts ofthe operating system 138 and application programs (i.e., programinstructions 150). Such essential services may include memorymanagement, process and task management, disk management, and mouse andkeyboard management.

FIGS. 5A-5C are schematic diagrams of fluid flow in a conduit havingwalls 20. FIG. 5A illustrates a uniform flow profile 70. While fluidalong the walls 20 may flow at a slower rate than fluid flowing throughthe center of the conduit 18 (i.e., along the axial centerline 24), theflow profile is generally symmetrical about the axial center of theconduit. FIG. 5B illustrates a distorted flow profile 72 in which fluidflowing along the bottom of the conduit 18 is flowing faster than fluidflowing along the top of the conduit. Varying types and degrees ofdistorted flow may exist, but a distorted flow profile 72 is notsymmetrical about the axial center of the conduit. FIG. 5C illustratesswirling fluid flow 74 through the conduit. It may present a challengefor the ultrasonic fluid flow measurement system to measure the fluidflow rate of fluid that is swirling through the conduit 18, since theswirling motion changes a basic assumption that the direction of fluidflow through the conduit is parallel to the central axis. Embodimentsdescribed herein may be capable of detecting distorted fluid flow as inFIG. 5B and swirling fluid flow as in FIG. 5C.

FIG. 6 is a flowchart of operations 80 according to one embodiment. Theoperations may be performed by at least one processor as a result ofexecuting various program instructions. The at least one processor maybe included in a control system that includes a local controller, aremote computer, and/or a supervisory computer. Operation 82 includesobtaining ultrasonic pulse transmission and detection data from thefirst and second ultrasonic transducers for each of the measurementpaths. Operation 84 includes determining a first fluid flow rate usingthe ultrasonic pulse transmission and detection data for each of themeasurement paths. Operation 86 includes determining a second fluid flowrate using a subset of the ultrasonic pulse transmission and detectiondata that is used to determine the first fluid flow rate, wherein thesubset of the ultrasonic pulse transmission and detection data includesonly the ultrasonic pulse transmission and detection data for a subsetof the measurement paths. Operation 88 includes determining whether adifference between the first fluid flow rate and the second fluid flowrate is greater than a difference setpoint. Other operations maydescribed herein may also be included.

As will be appreciated by one skilled in the art, embodiments may takethe form of a system, method or computer program product. Accordingly,embodiments may take the form of an entirely hardware embodiment, anentirely software embodiment (including firmware, resident software,micro-code, etc.) or an embodiment combining software and hardwareaspects that may all generally be referred to herein as a “circuit,”“module” or “system.” Furthermore, embodiments may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable storage medium(s) maybe utilized. A computer readable storage medium may be, for example, butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, or device, or any suitablecombination of the foregoing. More specific examples (a non-exhaustivelist) of the computer readable storage medium would include thefollowing: a portable computer diskette, a hard disk, a random accessmemory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), an electrically erasableprogrammable read-only memory (EEPROM), a portable compact discread-only memory (CD-ROM), an optical storage device, a magnetic storagedevice, or any suitable combination of the foregoing. In the context ofthis document, a computer readable storage medium may be any tangiblemedium that can contain, or store a program for use by or in connectionwith an instruction execution system, apparatus, or device. Furthermore,any program instruction or code that is embodied on such computerreadable storage media (including forms referred to as volatile memory)that is not a transitory signal are, for the avoidance of doubt,considered “non-transitory”.

Program code embodied on a computer readable storage medium may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc., or any suitablecombination of the foregoing. Computer program code for carrying outvarious operations may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Embodiments may be described with reference to flowchart illustrationsand/or block diagrams of methods, apparatus (systems) and computerprogram products. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, and/or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored on computerreadable storage media is not a transitory signal, such that the programinstructions can direct a computer, other programmable data processingapparatus, or other devices to function in a particular manner, and suchthat the program instructions stored in the computer readable storagemedium produce an article of manufacture.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products. In this regard, eachblock in the flowchart or block diagrams may represent a module,segment, or portion of code, which comprises one or more executableinstructions for implementing the specified logical function(s). Itshould also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration, and combinations of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to limit the scope of the claims.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,components and/or groups, but do not preclude the presence or additionof one or more other features, integers, steps, operations, elements,components, and/or groups thereof. The terms “preferably,” “preferred,”“prefer,” “optionally,” “may,” and similar terms are used to indicatethat an item, condition or step being referred to is an optional (notrequired) feature of the embodiment.

The corresponding structures, materials, acts, and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material, or act for performing the functionin combination with other claimed elements as specifically claimed.Embodiments have been presented for purposes of illustration anddescription, but it is not intended to be exhaustive or limited to theembodiments in the form disclosed. Many modifications and variationswill be apparent to those of ordinary skill in the art after readingthis disclosure. The disclosed embodiments were chosen and described asnon-limiting examples to enable others of ordinary skill in the art tounderstand these embodiments and other embodiments involvingmodifications suited to a particular implementation.

What is claimed is:
 1. A computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performoperations comprising: obtaining data from a flow meter having aplurality of ultrasonic transducer pairs arranged about a conduit toestablish a plurality of measurement paths through the conduit, whereineach ultrasonic transducer pair includes first and second ultrasonictransducers positioned about the conduit to establish one of theplurality of measurement paths through the conduit, wherein eachmeasurement path is directed at an acute angle relative to a centralaxis of the conduit, and wherein the data obtained from the flow meterincludes ultrasonic pulse transmission and detection data from the firstand second ultrasonic transducers for each measurement path included ina set of the measurement paths; determining a first fluid flow rateusing the ultrasonic pulse transmission and detection data for eachmeasurement path included in the set of the measurement paths;determining a second fluid flow rate using the ultrasonic pulsetransmission and detection data for each measurement path included in asubset of the measurement paths, wherein the subset of the measurementpaths includes fewer measurement paths than in the set of themeasurement paths and includes only measurement paths included in theset of the measurement paths; and determining whether a differencebetween the first fluid flow rate and the second fluid flow rate isgreater than a difference setpoint.
 2. The computer program product ofclaim 1, the operations further comprising: triggering an alarm inresponse to determining that the difference between the first fluid flowrate and the second fluid flow rate is greater than the differencesetpoint.
 3. The computer program product of claim 1, wherein themeasurement paths in the subset of measurement paths is predetermined.4. The computer program product of claim 1, the operations furthercomprising: receiving user input selecting one or more of themeasurement paths in the set of measurement paths to be included in thesubset of the measurement paths.
 5. The computer program product ofclaim 1, wherein the difference between the first fluid flow rate andthe second fluid flow rate is a percentage difference, and wherein thedifference setpoint is a percentage difference setpoint.
 6. The computerprogram product of claim 1, wherein the first and second fluid flowrates are volumetric fluid flow rates.
 7. The computer program productof claim 1, wherein the first and second fluid flow rates are mean fluidflow velocities.
 8. The computer program product of claim 1, wherein theoperation of determining the first fluid flow rate includes furtheroperations comprising: determining, for each measurement path in the setof the measurement paths, a path velocity; determining, for eachmeasurement path in the set of the measurement paths, a first weightedpath velocity as a mathematical product of the path velocity for themeasurement path and a first weighting factor that is assigned to themeasurement path for use in determining the first fluid flow rate; anddetermining the first fluid flow rate as a sum of the first weightedpath velocities for each measurement path in the set of the measurementpaths, wherein the first fluid flow rate is a mean fluid flow velocitythrough the conduit.
 9. The computer program product of claim 8, whereinthe subset of the measurement paths includes multiple measurement paths,and wherein the operation of determining the second fluid flow rateincludes further operations comprising: determining, for eachmeasurement path in the subset of the measurement paths, a secondweighted path velocity as a mathematical product of the path velocityfor the measurement path and a second weighting factor that is assignedto the measurement path for use in determining the second fluid flowrate; and determining the second fluid flow rate as a sum of the secondweighted path velocities for each measurement path of the subset of themeasurement paths, wherein the second fluid flow rate is a mean fluidflow velocity through the conduit.
 10. The computer program product ofclaim 8, wherein the subset of the measurement paths is a singlemeasurement path, and wherein the operation of determining the secondfluid flow rate includes further operations comprising: determining thesecond fluid flow rate as a mathematical product of the path velocityfor the single measurement path and a second weighting factor that isassigned to the single measurement path, wherein the second fluid flowrate is a mean fluid flow velocity through the conduit.
 11. The computerprogram product of claim 1, wherein the operation of determining thefirst fluid flow rate includes further operations comprising:determining, for each measurement path in the set of the measurementpaths, a path velocity; determining, for each measurement path in theset of the measurement paths, a first weighted path velocity as amathematical product of the path velocity for the measurement path and afirst weighting factor that is assigned to the measurement path for usein determining the first fluid flow rate; determining a first mean fluidflow velocity through the conduit as a sum of the first weighted pathvelocities for each measurement path; and determining the first fluidflow rate as a mathematical product of the first mean fluid flowvelocity and a cross-sectional area of the conduit.
 12. The computerprogram product of claim 11, wherein the subset of the measurement pathsincludes multiple measurement paths, and wherein the operation ofdetermining the second fluid flow rate includes further operationscomprising: determining, for each measurement path in the subset of themeasurement paths, a second weighted path velocity as a mathematicalproduct of the path velocity for the measurement path and a secondweighting factor that is assigned to the measurement path for use indetermining the second fluid flow rate; determining a second mean fluidflow velocity through the conduit as a sum of the second weighted pathvelocities for each of the measurement paths in the subset of themeasurement paths; and determining the second fluid flow rate as amathematical product of the second mean fluid flow velocity and thecross-sectional area of the conduit, wherein the second fluid flow rateis a volumetric fluid flow rate through the conduit.
 13. The computerprogram product of claim 11, wherein the subset of the measurement pathsis a single measurement path, and wherein the operation of determiningthe second fluid flow rate includes further operations comprising:determining a second mean fluid flow velocity as a mathematical productof the path velocity for the single measurement path and a secondweighting factor that is assigned to the single measurement path for usein determining the second fluid flow rate; and determining the secondfluid flow rate as a mathematical product of the second mean fluid flowvelocity and the cross-sectional area of the conduit, wherein the secondfluid flow rate is a volumetric fluid flow rate through the conduit. 14.The computer program product of claim 1, wherein the ultrasonic pulsetransmission and detection data for each measurement path includes afirst transit time for an ultrasonic pulse transmitted along themeasurement path with a direction of fluid flow through the conduit anda second transit time for an ultrasonic pulse transmitted along themeasurement path against the direction of fluid flow through theconduit.
 15. The computer program product of claim 1, wherein theultrasonic pulse transmission and detection data for each measurementpath includes a path velocity.
 16. The computer program product of claim1, wherein the ultrasonic pulse transmission and detection data for thefirst and second ultrasonic transducers of each ultrasonic transducerpair includes an ultrasonic pulse frequency shift.
 17. The computerprogram product of claim 1, wherein the measurement paths are selectedfrom diametric paths, chordal paths, reflective paths, and combinationsthereof.
 18. The computer program product of claim 1, the operationsfurther comprising: storing the first fluid flow rate in a data storagedevice; and flagging the first fluid flow rate as having reducedreliability in response to determining that the difference between thefirst fluid flow rate and the second fluid flow rate is greater than thedifference setpoint.
 19. A system, comprising: a non-volatile storagedevice storing program instructions; and a processor configured toprocess the program instructions, wherein the program instructions areconfigured to, when processed by the processor, cause the processor toperform operations comprising: obtaining data from a flow meter having aplurality of ultrasonic transducer pairs arranged about a conduit toestablish a plurality of measurement paths through the conduit, whereineach ultrasonic transducer pair includes first and second ultrasonictransducers positioned about the conduit to establish one of theplurality of measurement paths through the conduit, wherein eachmeasurement path is directed at an acute angle relative to a centralaxis of the conduit, and wherein the data obtained from the flow meterincludes ultrasonic pulse transmission and detection data from the firstand second ultrasonic transducers for each measurement path included ina set of the measurement paths; determining a first fluid flow rateusing the ultrasonic pulse transmission and detection data for eachmeasurement path included in the set of the measurement paths;determining a second fluid flow rate using the ultrasonic pulsetransmission and detection data for each measurement path included in asubset of the measurement paths, wherein the subset of the measurementpaths includes fewer measurement paths than in the set of themeasurement paths and includes only measurement paths included in theset of the measurement paths; and determining whether a differencebetween the first fluid flow rate and the second fluid flow rate isgreater than a difference setpoint.
 20. The system of claim 19, theoperations further comprising: triggering an alarm in response todetermining that the difference between the first fluid flow rate andthe second fluid flow rate is greater than the difference setpoint.